---@meta _

---@alias Levels
---| 1 关键消息，每位用户都应接收
---| 2 适用于本地调试（函数调用等场景）
---| 3 极度详细的调试信息，将转储全部相关信息

---@alias Frames
---| `DEFAULT_CHAT_FRAME` 默认聊天框
---| `SELECTED_CHAT_FRAME` 选择聊天框

---@class AceDebug-2.0 调试混入库
---@field debugFrame Frame|Frames 调试框架
---[文档](https://web.archive.org/web/20070227160843/http://www.wowace.com/wiki/AceDebug-2.0)
local AceDebug = {}

---输出调试信息
---@param content string 内容
---@param ... any 参数
function AceDebug:Debug(content, ...) end

---自定义调试
---@param r number|nil 红色值；取值0.00~1.00
---@param g number|nil 绿色值；取值0.00~1.00
---@param b number|nil 蓝色值；取值0.00~1.00
---@param frame number|nil|Frames 框架；默认为`DEFAULT_CHAT_FRAME`
---@param delay number|nil 淡化秒数；默认5秒
---@param content string 内容；含`%`将`string.format`
---@param ... any 参数
function AceDebug:CustomDebug(r, g, b, frame, delay, content, ...) end

---是否为调试模式
---@return boolean isDebugging 是否为调试模式
function AceDebug:IsDebugging() end

---设置调试模式
---@param debugging boolean 是否为调试模式
function AceDebug:SetDebugging(debugging) end

---设置调试等级
---@param level number|nil|Levels 等级；为空将不接受如何调试
function AceDebug:SetDebugLevel(level) end

---输出指定等级的调试信息
---@param level number|Levels 调试等级
---@param content string 内容
---@param ... any 参数
function AceDebug:LevelDebug(level, content, ...) end

---自定义等级调试
---@param level number|Levels 等级
---@param r number|nil 红色值；取值0.00~1.00
---@param g number|nil 绿色值；取值0.00~1.00
---@param b number|nil 蓝色值；取值0.00~1.00
---@param frame number|nil|Frames 框架；默认为`DEFAULT_CHAT_FRAME`
---@param delay number|nil 淡化秒数；默认5秒
---@param content string 内容
---@param ... any 参数
function AceDebug:CustomLevelDebug(level, r, g, b, frame, delay, content, ...) end

---获取当前调试等级
---@return number|nil|Levels level 等级
function AceDebug:GetDebugLevel() end

